//
//Form表单数据验证
//
// 使用步骤：
// 1. 在form中添加onsubmit方法。<form action="go.jsp" onsubmit="return checkForm(this);">
// 2. 在需要检查的控件中设置title属性值，包含指定关键字 [ 必填、邮件、数字、金额、日期 ] 即可。
//

//form的验证方法
// 参数form为需要验证的form对象。
// 参数funHandle为自定义的验证方法，将在所有验证结束后调用，必须返回boolean值。
// 参数disBut为boolean值，用于定义是否disalble表单中的按钮，默认为true
function checkForm(form,funHandle,disBut){
	for(i = 0; i < form.elements.length;i++){
		obj = form.elements[i];
		if( !requiredCheck(obj) || !numberCheck(obj) || !emailCheck(obj) || !moneyCheck(obj) || !dateCheck(obj) ) 
			return false;
	}
	res=(funHandle!=null)?funHandle(form):true;
	disBut=disBut==null?true:disBut;
	if(res && disBut)disabledBut(form);
	return res;
}

//日期验证
function dateCheck(obj){
	if(isEmpty(obj.value) || obj.title.indexOf("日期")==-1)
		return true;
	rex=/^20\d{2}\-\d{2}\-\d{2}$/
	if(!(rex.test(obj.value))){
		message(obj);
		return false;
	}
	return true;
}

//金额验证
function moneyCheck(obj){
	if(isEmpty(obj.value) || obj.title.indexOf("金额")==-1)
		return true;
	rex1=/^\d+\.\d{1,2}$/
	rex2=/^\d+$/
	str=obj.value;
	if(!( rex1.test(str) || rex2.test(str) )){
		message(obj);
		return false;
	}
	return true;
}

//邮件验证
function emailCheck(obj){
	if(isEmpty(obj.value) || obj.title.indexOf("邮件")==-1)
		return true;
	rex=/^[^@]+@[^@]+\.[^@]+$/
	if(!(rex.test(obj.value))){
		message(obj);
		return false;
	}
	return true;
}

//数字验证
function numberCheck(obj){
	if(isEmpty(obj.value) || obj.title.indexOf("数字")==-1)
		return true;
	rex=/^\d*$/;
	if(!(rex.test(obj.value))){
		message(obj);
		return false;
	}
	return true;
}
//空值验证
function requiredCheck(obj){
	if(obj.title.indexOf("必填")==-1)
		return true;
	if(isEmpty(obj.value)){
		message(obj);
		return false;
	}
	return true;
}

//输出提示信息
function message(obj){
	str="验证失败！"+obj.title;
	alert("提示：\n\n　　"+str+"\n\n");
	if(!(obj.readonly || obj.disabled))
		obj.focus();
}

//空值判断
function isEmpty(str){
	return trim(str)=="";
}

//去除前后的空格
function trim(str){
	rex=/^ +/;
	rex2=/ +$/;
	return str.replace(rex,"").replace(rex2,"");
}

//提交之前，让按钮失效
function disabledBut(form){
	for(i = 0; i < form.elements.length;i++){
		obj = form.elements[i];
		if(obj.type=="submit"||obj.type=="button")
			obj.disabled=true;
	}
}

//邮政编码验证
function iszipcode(obj)
{
    var zipcode=obj.match(/[1-9]\d{5}(?!\d)/);
    if(zipcode==null && trim(obj)!=""){
    	return false;
    } 
    return true;    
}

//手机号码验证
function istelephone(obj)
{
    var telephone=obj.match(/^0?(1[3|4|5|7|8][0-9]|15[0-9]|18[0-9]|14[57])[0-9]{8}$/);
    if(telephone==null && trim(obj)!=""){
      return false;
    } 
      return true;
}

//座机号码验证
function isphone(obj)
{
    var phone=obj.match(/\d{3}-\d{8}|\d{4}-\d{7}/);
    if(phone==null && trim(obj)!=""){
      return false;
    } 
      return true;
}

/***
 * 将该控件置为焦点
 */
function focusControl(control){
	control.select();
	control.focus();
}
/**
 * 校验文本是否为空
 * 
 * @param str:值对象
 * @param sval:字段名称
 * @returns
 */
function isEmpty(str) {
	if(isStr(str)&&trim(str)==""){
		return true;
	}
	return false;
}
/**
 * 判断是否是字符串
 * @param str
 * @returns
 */
function isStr(str)
{
	if(str==null||typeof(str)!='string'){
		return false;
	}
	return true;
}
/**
 * 去除字符串的首尾的空格
 * 
 * @param str
 * @returns
 */
function trim(str) {
	str=str.replace(/(^\s+)|(\s+$)/g,"");
	return str;
}
/**
 * 判断输入是否是有效的长日期格式 - "YYYY-MM-DD" || "YYYY/MM/DD"
 * @param str
 * @returns {Boolean}
 */
function isShortDateTime(str)
{
    var result=str.match(/^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
    if(result==null) return false;
    var d= new Date(result[1], result[3]-1, result[4]);
    return (d.getFullYear()==result[1]&&(d.getMonth()+1)==result[3]&&d.getDate()==result[4]);
}
/**
 * 判断输入是否是有效的电子邮件
 * 
 * @param str
 * @returns {Boolean}
 */	
function isEmail(str) {
	var result = str
			.match(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/);
	if (result == null && trim(str) != "") {
		return false;
	}
	return true;
}
/**
 * 匹配中国邮政编码(6位)
 * 
 * @param str
 * @returns {Boolean}
 */
function isPostCode(str)
{
    var result=str.match(/^[0-9][0-9]{5}$/);
    if(result==null&&trim(str)!=""){
    	return false;
    } 
    return true;
}
/**
 * 手机号码验证
 * 
 * @returns {Boolean}
 */
function isMobilePhone(str)
{
    var result=str.match(/^0?(13[0-9]|15[012356789]|17[67]|18[0236789]|14[57])[0-9]{8}$/);
    if(result==null&&trim(str)!=""){
      return false;
    } 
      return true;

}
/**
 * 匹配国内电话号码(0511-4405222 或 021-87888822) /小灵通
 * 
 * @param str
 * @returns {Boolean}
 */
function isTell(str)
{
	var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/;
	var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/;
	if(str.length>9) {
	if(phoneRegWithArea.test(str) ){
		return true;
	}
	return false;
	}
	if(phoneRegNoArea.test(str)){
		return true;
	}
	return false;
}

/**
 * 匹配联系电话(手机/电话皆可)
 * @param str
 * @returns {Boolean}
 */
function isMobileOrTell(str){
    if(!isMobilePhone(str)&&!isTell(str)){
      return false;
    } 
      return true;
}

/**
 * 匹配身份证(15位或18位)
 * 
 * @param str
 * @returns {Boolean}
 */
function isIdCard(str)
{
    var result=str.match(/\d{15}|\d{18}/);
    if(result==null) return false;
    return true;
}
/***
 * 不能输入中文
 * @param str
 * @returns {Boolean}
 */
function isChinese(str)
{
	if(/.*[\u4e00-\u9fa5]+.*$/.test(str))
	{
		return true;
	} 
	return false;
}

/***
 * 正浮点数验证
 * @param str
 * @returns {Boolean}
 */
function isPlusFloat(str){
//	var result=str.match(/^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/);
	var result = str.match(/^\d+(\.\d+)?$/);
    if(result==null) return false;
    return true;
}
/***
 * 浮点数验证
 * @param str
 * @returns {Boolean}
 */
function isFloat(str){
	var result=str.match(/^(-?\d+)(\.\d+)?$/);
    if(result==null) return false;
    return true;
}
/**
 * 判断是否为正整数
 * 
 * @param str
 * @returns {Boolean}
 */
function isPlusInt(str)
{   
	var result=str.match(/^[0-9]*[1-9][0-9]*$/);
    if(result==null) return false;
    return true;
}
/**传真号码验证*/
function isFax(str){
	var result=str.match(/^[0-9]{3,4}\-[0-9]{7,8}$/);
    if(result==null) return false;
    return true;
}

/**
 * 日期大小比较
 * @param dateBegin
 * @param dateEnd
 * @returns {Boolean}
 */
function dateSizeCheck(dateBegin,dateEnd){
	dateBegin=dateBegin.split("-");
	dateEnd=dateEnd.split("-");
	var startArr=new Date(dateBegin[0],dateBegin[1],dateBegin[2]);
	var endArr=new Date(dateEnd[0],dateEnd[1],dateEnd[2]);
	if(startArr.getTime()>endArr.getTime()){
		return false;
	}
	return true;
}

/**检测字段是否重复*/
function checkRepeatInfo(url,inputBox,message){
	var promptInfo = "<label id='infoPrompt' style='color:blue'></lable>";
	if($(inputBox).parent().find("label").attr("id")!="infoPrompt"){
		$(inputBox).parent().append(promptInfo);
	} 
	var label= $(inputBox).parent().find("label");
	jQuery.ajax({
		type : "POST",
		url : url,
		dataType : "json",
		processDate : false,
		cache : false,
		success : function(data){
			if(data==null){
				label.html("");
			}
			if(data.result==0){
				label.html("");
			}
			else{
				label.html(message);
			}
		}
	  }
	);
}

/**
 * 判断是否小于当前日期(仅支持jqgrid dateBox 控件)
 * @param date
 */
function isLessThanCurrentDate(control,message){
	var effectDt = control.val();
	var effMill = Date.parse(effectDt.replace(/-/g, "/"));
	var date = new Date();
	var curDate = date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();
	if(effMill < Date.parse(curDate.replace(/-/g, "/"))){
		$.messager.alert('操作提示',message+'必须大于或等于当前系统时间!');
		return false;
	}
	return true;
}

/**
 * 检查前后日期是否相差一个月
 */
function isLessThanLastMonth(dateBegin,dateEnd){
	var d1=dateBegin.substring(5,7);
	var d2=dateEnd.substring(5,7);
	//判断同一年
	if(dateBegin.substring(0,4)!=dateEnd.substring(0,4))
	{
		return true;
	}
	//判断月份跨度是否大于一个月
	if(d2-d1>0)   
	{	
	  return true;
	}
	return false;;
}

//
//此文件包含一些公共的js方法，以及和html相关的方法
//

//=========================> 公共js方法 <=========================

//去除字符串前后的空格
function trim(str){
	if(str!=null){
		rex=/^ +/;
		rex2=/ +$/;
		return str.replace(rex,"").replace(rex2,"");
	}
	return "";
}

//替换字符串
//srcStr原始字符串  sourStr被替换字符串 destStr替换的字符串
function replaceAll(srcStr,sourStr,destStr){
	while(srcStr.indexOf(sourStr)!=-1)
		srcStr=srcStr.replace(sourStr,destStr);
	return srcStr;
}

//检查输入的是否为数字
function isNumeric(obj){ 
	var IfTrue = obj.search(/^(-|\+)?\d+(\.\d+)?$/) != -1;
	return IfTrue;
} 

//检查是否为数字
function isNum(str){
	rex=/^\d+$/
	return str.match(rex)==str;
}

//金额验证
function isMoney(str){
	rex1=/^\d+\.\d{2,4}$/
	rex2=/^\d+$/
	if(!( rex1.test(str) || rex2.test(str) )){
		return false;
	}
	return true;
}

//产生随机字符串
function randomStr(){
	var d=new Date();
	s = ""+d.getHours()+d.getMinutes()+d.getSeconds()+d.getMilliseconds();
	s = "z_"+parseInt(""+(Math.random()*10000))+"_z_"+s;
	return s;
}

//表格排序相关方法
function sort_(obj,fieldName,q_){
	var keystr=obj.className;
	var nx=keystr.indexOf("_")+1;
	var sortKey=(nx!=keystr.length&&keystr.substring(nx)=="asc")?"desc":"asc";
	var obs=document.getElementsByName("orderBy");
	if(obs==null||obs.length<1){
		alert("排序发生错误，没有找到HTML页面中的name=\"orderBy\"的控件。");
		return;
	}
	obs[0].value=fieldName+" "+sortKey;
	q_();
}


//=========================> Html相关的js方法 <=========================

//
//<input type="checkbox" 控件相关的方法
//

//全选 复选框
//参数：
//allCheckboxObj 必须 触发全选的checkbox控件对象
//langFilter 可选 通过<input type="checkbox" lang="abc"中的abc进行分组过滤
function checkedAll(allCheckboxObj,langFilter){
	var ips=document.getElementsByTagName("input");
	var isChecked=allCheckboxObj.checked;
	for(var i = 0; i < ips.length;i++)
		if(ips[i].type=="checkbox" && (langFilter==null || ips[i].lang==langFilter))
			if(ips[i]!=allCheckboxObj&&!ips[i].disabled)
				ips[i].checked=isChecked;
}

//返回checkbox选择的数量
//参数：
//langFilter 可选 通过<input type="checkbox" lang="abc"中的abc进行分组过滤
function getCheckedCount(langFilter){
	var ips=document.getElementsByTagName("input");
	var nn=0;
	for(var i = 0; i < ips.length; i++)
		if(ips[i].type=="checkbox" && (langFilter==null||ips[i].lang==langFilter) && ips[i].checked)
			nn++;
	return nn;
}

//返回checkbox中第一个选择的值
//参数：
//langFilter 可选 通过<input type="checkbox" lang="abc"中的abc进行分组过滤
function getCheckedValue(langFilter){
	var ips=document.getElementsByTagName("input");
	for(var i = 0; i < ips.length; i++)
		if(ips[i].type=="checkbox" && (langFilter==null||ips[i].lang==langFilter) && ips[i].checked)
			return ips[i].value;
	return null;
}

//返回checkbox中选择的所有值，用逗号,分隔返回
//参数：
//langFilter 可选 通过<input type="checkbox" lang="abc"中的abc进行分组过滤
function getCheckedValues(langFilter){
	var ips=document.getElementsByTagName("input");
	var res="";
	for(i = 0; i < ips.length;i++)
		if(ips[i].type=="checkbox" && (langFilter==null||ips[i].lang==langFilter) && ips[i].checked)
			res=res+","+ips[i].value;
	return res.length>0?res.substring(1):res;
}

//
// <select 控件相关的方法
//

//设置select框的选中值
function setSelectedValue(selObj,value){
	for(i = 0; i < selObj.options.length;i++)
		selObj.options[i].selected=selObj.options[i].value==value;
}

//获取select框中被选中的Option对象
function getSelectedOption(selObj){
	return selObj.options[selObj.selectedIndex];	
}

//获取SELECT中的所有值
function getSelectedValues(sel){
	var str="";
	if(sel!=null){
		for(var i=0;i<sel.length;i++){
			str+=sel.options[i].value+",";
		}
	}
	str = str.substring(0,str.length-1);
	return str;
}
//
//公共的html相关方法 
//
//根据ID获取对象
function gi(id){
	return document.getElementById(id);
}

//根据Name获取对象
function gn(name){
	es=document.getElementsByName(name);
	return es!=null?es[0]:null;
}

//获取http数据
function getHttpData(url){
	try{
		var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0")
		xmlhttp.open("GET", url, false);
		xmlhttp.send();
		return xmlhttp.responseText;
	}catch(e){
		return e;	
	}
}

//打开模式窗口
//参数：
//uri 打开的页面的uri，以/开始，例如： /abc/d.do?goto=aaa
//width 窗口宽度
//heigth 窗口高度
//argsObj 传递参数的包装对象var argsObj=new Object(); argsObj.abc="dddd"
//dir 相对于/ 的路径，比如引用是在/abc/ddd/abc.htm中，则dir应该为../../两级目录，默认为../一级目录
//返回 argsObj包装对象
function showModelDialog(uri,width,height,argsObj,dir) {
	if(argsObj==null) argsObj=new Object();
	argsObj.modalDialogSrc = uri;
	argsObj.modalDialogWidth = width;
	argsObj.modalDialogHeight = height;
	dir=dir==null?"../":dir;
	return window.showModalDialog(dir+"js/modelDialog.html",argsObj,"dialogHeight:"+height+"px;dialogWidth:"+width+"px;location=no;");
}

//点击修改class值，更换颜色
var colorFlag="-1";
function changeTrColor(id){
	if(!(colorFlag=="-1"))
		document.all("a_"+colorFlag).className="styleFont";
	document.all("a_"+id).className="linkClick";
	colorFlag = id;
}
//使按钮失效
function disabledButtton(buttons){
	if(buttons==null){
		return false;
	}
	for(var i=0;i<buttons.length;i++){
		if(buttons[i]!=null){
			buttons[i].disable();
		}
	}
}
//使按钮有效
function enalbedButtton(buttons){
	if(buttons==null){
		return false;
	}
	for(var i=0;i<buttons.length;i++){
		if(buttons[i]!=null){
			buttons[i].enable();
		}
	}
}

//日期验证
function dateCheck(obj){
	rex=/^20\d{2}\-\d{2}\-\d{2}$/
	rex1=/^19\d{2}\-\d{2}\-\d{2}$/
	if(!(rex.test(obj.value))&&!(rex1.test(obj.value))){
		return false;
	}
	return true;
}
//邮件验证
function emailCheck(obj){
	rex=/^[^@]+@[^@]+\.[^@]+$/
	if(!(rex.test(obj.value))){
		return false;
	}
	return true;
}

function winOpen(Url,width,height,scrollbar,resize){
	// Url
	// width
	// height
	// scrollbar 0 yes 1 no
	// resize 0 true 1 false
	ow = width;
	oh = height;
	os = scrollbar;
	or = resize;
	var xposition=0; 
	var yposition=0;
	if ((parseInt(navigator.appVersion) >= 4 )){
 	xposition = (screen.width - width) / 2;
 	yposition = (screen.height - height-25) / 2;
	}
	var msgWindow = window.open (Url,"","width="+ow+",height="+oh+",scrollbars="+os+",toolbar=no,menubar=no,status=no,location=no,resizable="+or+",left="+xposition+",top="+yposition);
	if (msgWindow.opener == null) msgWindow.opener = self;
}
function turnPage(curPage,callback){
	var form = document.forms[0];
	form.elements['current-page-text'].value=curPage;
	callback();
}
function keyDownSubmit(evt){
	return keyDown(evt,defaultSubmit);
}
function defaultSubmit(){
	var form = document.forms[0];
	waiting('loading');
	form.submit();
}
function keyDown(evt,callback){
	evt = evt ? evt : (window.event ? window.event : null);
	var keycode = evt.keyCode;
	//alert(keycode);
	if (keycode == 13) { //enter 键
		return callback();
		//return input();
	}else {
		return false;
	}
}
function UTCTimeValue(){
var s = "";
var d = new Date();
s += d.getUTCHours();
s += d.getUTCMinutes();
s += d.getUTCSeconds();
s += d.getUTCMilliseconds();
return s;
}

function onSelectAllEvent(button){
	disabledButtton(buttons);
	var form = document.forms[0];
	form.opt.value='selectAll';
	form.submit();
}
function onClearAllEvent(button){
	if(confirm('是否要清除所有的选择？')){
		disabledButtton(buttons);
		var form = document.forms[0];
		form.opt.value='clearAll';
		form.submit();
		return true;
	}else{
		return false;
	}
}
function waiting(id){
	var loading=gi(id);
	if(loading!=null){
		loading.style.display='block';
	}
}

//关闭子窗口TAB
function returnTab(selfId)
{
//var frame= window.parent.document.getElementsByTagName('IFRAME');
//alert(frame.length);
//var selfId=frame[frame.length-1].getAttribute("self");
//alert(selfId);
window.parent.closeTab(selfId);
}

//关闭子窗口TAB
function returnTab()
{
var frame= window.parent.document.getElementsByTagName('IFRAME');
//alert(frame);
var selfId=frame[frame.length-1].getAttribute("self");
//alert(selfId);
window.parent.closeTab(selfId);
}

/**回车提交*/
function keyEnterSubmit(){
if (event.keyCode == 13){
 defaultSubmit();		//默认提交方法
}
}

/** 帮助提示 ExtJs */
function helpTip(button){
	//Ext.MessageBox.alert('帮助', '提示信息');
	var paragraph = Ext.get("help");
	Ext.MessageBox.show({
		title: '帮助提示',
		msg: paragraph.dom.innerHTML,
		width:500,
		buttons: Ext.MessageBox.OK,
		animEl: paragraph
	});
}

/** 进度条提示 ExtJs */
function progressTip(button, tip){
	Ext.MessageBox.show({
		title: '请稍等',
		msg: '正在' + tip + '...',
		progressText: '初始化...',
		width:300,
		progress:true,
		closable:false,
		icon:'ext-mb-download'
	});
	// this hideous block creates the bogus progress
	var f = function(v){
		return function(){
			if(v == 12){
				Ext.MessageBox.hide();
			}else{
				var i = v/11;
				Ext.MessageBox.updateProgress(i, Math.round(100*i)+'% 完成');
			}
		};
	};
	for(var i = 1; i < 13; i++){
		setTimeout(f(i), i*300);
	}
}

/** 退出系统 ExtJs */
function exit(){
	if(!top.Ext.isEmpty()){
		top.exit();
	}else{
		Ext.MessageBox.confirm('确认', '你确定要退出系统吗？', exitSystem);
		function exitSystem(btn){
			if(btn=="yes"){
				window.close();
				return true;
			}else{
				return false;
			}
		}
	}
}

//打开新窗口
function openWindow(url,x,y){
	x=x==null?"640":x;
	y=y==null?"480":y;
	window.open(url,"从新窗口添加","scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,top="+((screen.height-y)/2)+",left="+((screen.width-x)/2)+",width="+x+",height="+y);
}

function showMenuSelector(keyName, valueName, selector,folderUrl){
	var form = document.forms[0];
	var url="menu_selector.htm?keyName="+keyName+"&valueName="+valueName+"&selector="+selector+"&folderUrl="+folderUrl;
	var win=winOpen(url, 450, 400, 0, 1);
}
function clearMenuSelector(keyName, valueName){
	var form = document.forms[0];
	if(keyName!=''){
		form.elements[keyName].value="";
	}
	if(valueName!=''){
		form.elements[valueName].value="";
	}
}

/**
* 百分比格式化
* @param cellvalue
* @param options
* @param rowObject
* @returns
*/
function percentFormatter (cellvalue, options, rowObject)
{
return accMul(cellvalue,100);
}

/**
* 浮点数乘法
* @param arg1
* @param arg2
* @returns
*/
function accMul(arg1,arg2){ 
 var m=0,s1=arg1.toString(),s2=arg2.toString(); 
 try{m+=s1.split(".")[1].length}catch(e){} 
 try{m+=s2.split(".")[1].length}catch(e){} 
 return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m) 
} 

/**
* 对象比较
* @param A
* @param B
* @returns {Boolean}
*/
function compareobj(A,B){
 if(A instanceof Array){
     if(!(B instanceof Array)){
         return false;
     }
     var aLen = A.length,
         bLen = B.length;
     if(aLen != bLen){
         return false;
     }
     var isEqual = true,num = 0;
     for(var i = 0;i < aLen;i++){
         if(A[i]!=B[i] && typeof A[i]=='object' && typeof B[i]=='object'){
           isEqual = arguments.callee.apply(null,[A[i],B[i]]);
           // isEqual = compareobj(A[i],B[i]);
         }else{
           isEqual = A[i]===B[i];
         }
         if(isEqual){
             num++;
         }
     }
     if(num != aLen){
         return false;
     }else{
         return true;
     }
 }else if(A instanceof Date){
     if(!(B instanceof Date)){
         return false;
     }else{
         return A.getTime() == B.getTime();
     }
 }else if(A instanceof Object){
     if((B instanceof Array) || (B instanceof Date) || !(B instanceof Object)){
         return false;
     }else{
        var aLen=bLen=0;
        for(var i in A){
             aLen++;
        }
        for(var i in B){
             bLen++;
        }
        if(aLen != bLen){
             return false;
        }
        var isEqual = true,num = 0;
        for(var i in A){
          if(typeof A[i] == 'object' && typeof B[i] == 'object' && A[i]!=B[i]){
             isEqual = arguments.callee.apply(null,[A[i],B[i]]);
            // isEqual = compareobj(A[i],B[i]);
          }else{
             isEqual = A[i]===B[i];
          }
          if(isEqual){
             num++;
          }
        }
        if(num != aLen){
             return false;
        }else{
             return true;
        }
     }
 }else{
     if(B instanceof Object){
         return false;
     }else{
         return A===B;
     }
 }
}


function IsTelephone(value)// 正则判断
{ 
	var isPhone = /^([0-9]{3,4}-)?[0-9]{7,8}$/;
	var isMob=/^((\+?86)|(\(\+86\)))?(13[012356789][0-9]{8}|15[012356789][0-9]{8}|18[02356789][0-9]{8}|147[0-9]{8}|1349[0-9]{7})$/;
	if(isMob.test(value)||isPhone.test(value)){
		return true;
	}
	else{
		return false;
	}
} 






